# BAD
# class BcsInfoProvider:
#     def __init__(self, project_id, cluster_id, access_token, namespace_id, context):
#         self.project_id = project_id
#         self.cluster_id = cluster_id
#         self.namespace_id = namespace_id
#         self.context = context

# GOOD
from dataclasses import dataclass

@dataclass
class BcsInfoProvider:
    project_id: str
    cluster_id: str
    access_token: str
    namespace_id: int
    context: dict


a = BcsInfoProvider('test', 'test', 'test', 8, {'name': 'lihua'})
print(type(a))
